Search Results

Documents authored by Hanrahan, Pat


Found 2 Possible Name Variants:

Hanrahan, Pat

Document
A Golden Age of Hardware Description Languages: Applying Programming Language Techniques to Improve Design Productivity

Authors: Lenny Truong and Pat Hanrahan

Published in: LIPIcs, Volume 136, 3rd Summit on Advances in Programming Languages (SNAPL 2019)


Abstract
Leading experts have declared that there is an impending golden age of computer architecture. During this age, the rate at which architects will be able to innovate will be directly tied to the design and implementation of the hardware description languages they use. Thus, the programming languages community stands on the critical path to this new golden age. This implies that we are also on the cusp of a golden age of hardware description languages. In this paper, we discuss the intellectual challenges facing researchers interested in hardware description language design, compilers, and formal methods. The major theme will be identifying opportunities to apply programming language techniques to address issues in hardware design productivity. Then, we present a vision for a multi-language system that provides a framework for developing solutions to these intellectual problems. This vision is based on a meta-programmed host language combined with a core embedded hardware description language that is used as the basis for the research and development of a sea of domain-specific languages. Central to the design of this system is the core language which is based on an abstraction that provides a general mechanism for the composition of hardware components described in any language.

Cite as

Lenny Truong and Pat Hanrahan. A Golden Age of Hardware Description Languages: Applying Programming Language Techniques to Improve Design Productivity. In 3rd Summit on Advances in Programming Languages (SNAPL 2019). Leibniz International Proceedings in Informatics (LIPIcs), Volume 136, pp. 7:1-7:21, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2019)


Copy BibTex To Clipboard

@InProceedings{truong_et_al:LIPIcs.SNAPL.2019.7,
  author =	{Truong, Lenny and Hanrahan, Pat},
  title =	{{A Golden Age of Hardware Description Languages: Applying Programming Language Techniques to Improve Design Productivity}},
  booktitle =	{3rd Summit on Advances in Programming Languages (SNAPL 2019)},
  pages =	{7:1--7:21},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-95977-113-9},
  ISSN =	{1868-8969},
  year =	{2019},
  volume =	{136},
  editor =	{Lerner, Benjamin S. and Bod{\'\i}k, Rastislav and Krishnamurthi, Shriram},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/LIPIcs.SNAPL.2019.7},
  URN =		{urn:nbn:de:0030-drops-105508},
  doi =		{10.4230/LIPIcs.SNAPL.2019.7},
  annote =	{Keywords: Hardware Description Languages}
}
Document
The Design of Terra: Harnessing the Best Features of High-Level and Low-Level Languages

Authors: Zachary DeVito and Pat Hanrahan

Published in: LIPIcs, Volume 32, 1st Summit on Advances in Programming Languages (SNAPL 2015)


Abstract
Applications are often written using a combination of high-level and low-level languages since it allows performance critical parts to be carefully optimized, while other parts can be written more productively. This approach is used in web development, game programming, and in build systems for applications themselves. However, most languages were not designed with interoperability in mind, resulting in glue code and duplicated features that add complexity. We propose a two-language system where both languages were designed to interoperate. Lua is used for our high-level language since it was originally designed with interoperability in mind. We create a new low-level language, Terra, that we designed to interoperate with Lua. It is embedded in Lua, and meta-programmed from it, but has a low level of abstraction suited for writing high-performance code. We discuss important design decisions - compartmentalized runtimes, glue-free interoperation, and meta-programming features - that enable Lua and Terra to be more powerful than the sum of their parts.

Cite as

Zachary DeVito and Pat Hanrahan. The Design of Terra: Harnessing the Best Features of High-Level and Low-Level Languages. In 1st Summit on Advances in Programming Languages (SNAPL 2015). Leibniz International Proceedings in Informatics (LIPIcs), Volume 32, pp. 79-89, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (2015)


Copy BibTex To Clipboard

@InProceedings{devito_et_al:LIPIcs.SNAPL.2015.79,
  author =	{DeVito, Zachary and Hanrahan, Pat},
  title =	{{The Design of Terra: Harnessing the Best Features of High-Level and Low-Level Languages}},
  booktitle =	{1st Summit on Advances in Programming Languages (SNAPL 2015)},
  pages =	{79--89},
  series =	{Leibniz International Proceedings in Informatics (LIPIcs)},
  ISBN =	{978-3-939897-80-4},
  ISSN =	{1868-8969},
  year =	{2015},
  volume =	{32},
  editor =	{Ball, Thomas and Bodík, Rastislav and Krishnamurthi, Shriram and Lerner, Benjamin S. and Morriset, Greg},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/LIPIcs.SNAPL.2015.79},
  URN =		{urn:nbn:de:0030-drops-50186},
  doi =		{10.4230/LIPIcs.SNAPL.2015.79},
  annote =	{Keywords: language interoperability, meta-programming, high-performance, Lua}
}

Hanrahan, Patrick M.

Document
Rendering (Dagstuhl Seminar 9624)

Authors: Patrick M. Hanrahan, Heinrich Müller, and Claude Puech

Published in: Dagstuhl Seminar Reports. Dagstuhl Seminar Reports, Volume 1 (2021)


Abstract

Cite as

Patrick M. Hanrahan, Heinrich Müller, and Claude Puech. Rendering (Dagstuhl Seminar 9624). Dagstuhl Seminar Report 148, pp. 1-24, Schloss Dagstuhl – Leibniz-Zentrum für Informatik (1996)


Copy BibTex To Clipboard

@TechReport{hanrahan_et_al:DagSemRep.148,
  author =	{Hanrahan, Patrick M. and M\"{u}ller, Heinrich and Puech, Claude},
  title =	{{Rendering (Dagstuhl Seminar 9624)}},
  pages =	{1--24},
  ISSN =	{1619-0203},
  year =	{1996},
  type = 	{Dagstuhl Seminar Report},
  number =	{148},
  institution =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  publisher =	{Schloss Dagstuhl -- Leibniz-Zentrum f{\"u}r Informatik},
  address =	{Dagstuhl, Germany},
  URL =		{https://drops-dev.dagstuhl.de/entities/document/10.4230/DagSemRep.148},
  URN =		{urn:nbn:de:0030-drops-150353},
  doi =		{10.4230/DagSemRep.148},
}
Questions / Remarks / Feedback
X

Feedback for Dagstuhl Publishing


Thanks for your feedback!

Feedback submitted

Could not send message

Please try again later or send an E-mail